package com.tarena.vehicle.management.service;

import com.tarena.vehicle.common.pojo.vo.PageData;
import com.tarena.vehicle.management.pojo.param.VehicleInsuranceAddNewParam;
import com.tarena.vehicle.management.pojo.param.VehicleInsuranceUpdateParam;
import com.tarena.vehicle.management.pojo.query.VehicleInsuranceQuery;
import com.tarena.vehicle.management.pojo.vo.VehicleInsuranceListItemVO;
import com.tarena.vehicle.management.pojo.vo.VehicleInsuranceStrandVO;

public interface IVehicleInsuranceService {
    void addNew(VehicleInsuranceAddNewParam param);

    VehicleInsuranceStrandVO getVehicleInsuranceById(Integer id);

    void updateVehicleInsuranceUndueStatusById(Integer id);

    void updateVehicleInsuranceExpireStatusById(Integer id);

    void updateVehicleInsurance(VehicleInsuranceUpdateParam param);

    PageData<VehicleInsuranceListItemVO> getVehicleInsuranceAll(Integer num, Integer size, VehicleInsuranceQuery query);

    void deleteVehicleInsuranceById(Integer id);
}
